package com.ls.controller.model.commService;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * @ClassName EditCommServiceModel
 * @Description 修改下游业务model
 * @Author pengyu
 * @Date 2019/9/13 10:17
 * @Version 1.0
 **/
@Data
@ApiModel("修改下游业务model")
public class EditCommServiceModel {

    /**
     * 下游服务主键ID
     */
    @ApiModelProperty(value = "下游业务ID")
    @NotNull(message = "下游业务Id不能为空")
    private Long serviceId;

    /**
     * 下游业务名称
     */
    @ApiModelProperty(value = "下游业务名称")
    @NotEmpty(message = "下游业务名称不能为空")
    private String serviceName;

    /**
     * 是否开放，0 关闭中 1 开放中
     */
    @ApiModelProperty(value = "是否开放，0 关闭中 1 开放中")
    @NotNull(message ="不能为空")
    @Min(value =0,message = "只能0或1")
    @Max(value =1,message = "只能0或1")
    private Integer openStatus;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    @NotEmpty(message = "账号不能为空")
    private String account;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    @NotEmpty(message = "密码不能为空")
    private String password;


    /**
     * 默认主叫号码
     */
    @ApiModelProperty(value = "默认主叫号码")
    @NotEmpty(message = "默认主叫号码不能为空")
    private String defaultCallNo;


    /**
     * 是否使用默认主叫号码 0 否 1 是；0的时候使用用户原始主叫
     */
    @NotNull(message ="是否使用默认主叫号码不能为空")
    @Min(value =0,message = "只能0或1")
    @Max(value =1,message = "只能0或1")
    private Integer callNoStatus;

    /**
     * 每小时发送限制，默认9999
     */
    @ApiModelProperty(value = "每小时短信发送限制条数")
    @NotNull(message ="不能为空")
    @Min(value =10,message = "最小10")
    @Max(value =9999,message = "最大9999")
    private Integer limitHourNo;

    /**
     * 每天发送限制，默认9999
     */
    @ApiModelProperty(value = "每天短信发送限制条数")
    @NotNull(message ="不能为空")
    @Min(value =10,message = "最小10")
    @Max(value =9999,message = "最大9999")
    private Integer limitDayNo;

    /**
     * 每周发送限制，默认9999
     */
    @ApiModelProperty(value = "每周短信发送限制条数")
    @NotNull(message ="不能为空")
    @Min(value =10,message = "最小10")
    @Max(value =9999,message = "最大9999")
    private Integer limitWeekNo;

    /**
     * 每月发送限制，默认9999
     */
    @ApiModelProperty(value = "每月短信发送限制条数")
    @NotNull(message ="不能为空")
    @Min(value =10,message = "最小10")
    @Max(value =9999,message = "最大9999")
    private Integer limitMonthNo;

    /**
     * 库存短信条数
     */
    @ApiModelProperty(value = "库存短信条数")
    @NotNull(message ="不能为空")
    @Min(value =10,message = "最小10")
    @Max(value =99999,message = "最大99999")
    private Integer stock;

    /**
     * 是否无限条数；默认0，否 ；1 是
     */
    @ApiModelProperty(value = "是否无限条数；默认0，否 ；1 是")
    @NotNull(message ="不能为空")
    @Min(value =0,message = "只能0或1")
    @Max(value =1,message = "只能0或1")
    private Integer infiniteStatus;

    /**
     * 历史充值短信总数
     */
    @ApiModelProperty(value = "历史充值短信总数")
    @NotNull(message ="不能为空")
    @Min(value =0,message = "最小为0")
    private Integer totalNo;

    /**
     * 阈值
     */
    @ApiModelProperty(value = "阈值，短信报警用，关闭的时候不报警")
    @NotNull(message ="不能为空")
    @Min(value =1,message = "最小1")
    @Max(value =30000,message = "最大30000")
    private Integer threshold;

}
